Inter-language Collaboration in an Object-oriented Virtual Machine

نویسنده

  • Matthias Springer
چکیده

Multi-language virtual machines have a number of advantages. They allow software developers to use software libraries that were written for different programming languages. Furthermore, language implementors do not have to bother with low-level VM functionality and their implementation can benefit from optimizations in existing virtual machines. MagLev is an implementation of the Ruby programming language on top of the GemStone/S virtual machine for the Smalltalk programming language. In this work, we present how software components written in both languages can interact. We show how MagLev unifies the Smalltalk and the Ruby object model, taking into account Smalltalk meta classes, Ruby singleton classes, and Ruby modules. Besides, we show how we can call Ruby methods from Smalltalk and vice versa. We also present MagLev’s concept of bridge methods for implementing Ruby method calling conventions. Finally, we compare our solution to other language implementations and virtual machines.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Implementing functional languages on object-oriented virtual machines

Hosting functional languages in object-oriented environments, such as the Java Virtual Machine and Microsoft’s Common Language Infrastructure, so that they inter-operate well with other languages presents a number of problems. In this paper we introduce Mondrian, a functional language specifically designed for such environments, and describe the decisions and trade-offs in its design.

متن کامل

NUTS: a Distributed Object-oriented Platform with High Level Communication Functions

An extensible object-oriented platform NUTS for distributed computing is described which is based on an object-oriented programming environment NUT, is built on top of the Parallel Virtual Machine (PVM), and hides all low-level features of the latter. The language of NUTS is a concurrent object-oriented programming language with coarsegrained parallelism and distributed shared memory communicat...

متن کامل

Towards Efficient Virtual Machine Support for Flexible, Dynamic Deployment of Inter-type Declarations

Dynamic deployment is an important feature of an aspect-oriented language design that has many software engineering benefits, e.g. in runtime monitoring, runtime adaptation to fix bugs or add features to long running applications, runtime update of dynamic policy changes, etc. Many recently proposed language designs support these use cases. In previous work, researchers have demonstrated that t...

متن کامل

A Reference Architecture for Automation of Inter-Organizational Process-Oriented Collaboration

In today’s competitive, dynamic, and changing business environment, being able to collaborate globally within and beyond the enterprise borders is critical. Inter-Organizational Collaborations (IOCs) have been proposed as a response to the characteristics of highly competitive global business environments. So far, a number of reference models, frameworks, and ad hoc architectures related to som...

متن کامل

A Versioning Approach to VM Live Migration

In the context of virtual machines live migration, two strategies called “pre-copy” and “post-copy” have already been presented; but each of these strategies works well only in some circumstances. In this paper, we have a brief presentation of QAVNS and then introduce a new approach which is based on the concept of "informational object", assigning QAVNS-scheme-revision number, and observing th...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • CoRR

دوره abs/1606.03644  شماره 

صفحات  -

تاریخ انتشار 2016